90b7019ca27cb215649a6935886324ace6107b3e,h2/src/main/org/h2/util/ThreadDeadlockDetector.java,ThreadDeadlockDetector,dumpThreadsAndLocks,#String#ThreadMXBean#number[]#,77

Before Change


        final HashMap<Long, String> tableWaitingForLockMap =
                MVTable.WAITING_FOR_LOCK.getSnapshotOfAllThreads();
        final HashMap<Long, ArrayList<String>> tableExclusiveLocksMap =
                MVTable.EXCLUSIVE_LOCKS.getSnapshotOfAllThreads();
        final HashMap<Long, ArrayList<String>> tableSharedLocksMap =
                MVTable.SHARED_LOCKS.getSnapshotOfAllThreads();
        for (ThreadInfo ti : infos) {

After Change


        final HashMap<Long, String> tableWaitingForLockMap;
        final HashMap<Long, ArrayList<String>> tableExclusiveLocksMap;
        final HashMap<Long, ArrayList<String>> tableSharedLocksMap;
        if (SysProperties.THREAD_DEADLOCK_DETECTOR) {
            tableWaitingForLockMap = MVTable.WAITING_FOR_LOCK
                    .getSnapshotOfAllThreads();
            tableExclusiveLocksMap = MVTable.EXCLUSIVE_LOCKS
                    .getSnapshotOfAllThreads();
            tableSharedLocksMap = MVTable.SHARED_LOCKS
                    .getSnapshotOfAllThreads();
        } else {
            tableWaitingForLockMap = New.hashMap();
            tableExclusiveLocksMap = New.hashMap();
            tableSharedLocksMap = New.hashMap();
        }

        final ThreadInfo[] infos = threadBean.getThreadInfo(threadIds, true,